உலகளாவிய நம்பகமான, பிழை சகிப்புத்தன்மை கொண்ட பகிர்ந்தளிக்கப்பட்ட அமைப்புகளை உருவாக்க Paxos, Raft, PBFT போன்ற ஒருமித்த வழிமுறைகளைப் புரிந்துகொண்டு, செயல்படுத்த ஒரு விரிவான வழிகாட்டி.
பகிர்ந்தளிக்கப்பட்ட அமைப்புகள்: ஒருமித்த வழிமுறைகளை செயல்படுத்துவதில் உள்ள சிக்கல்களைக் கையாளுதல்
நவீன தொழில்நுட்பத்தின் பரந்த, ஒன்றோடொன்று இணைக்கப்பட்ட நிலப்பரப்பில், நாம் தினமும் பயன்படுத்தும் கிட்டத்தட்ட ஒவ்வொரு முக்கியமான சேவையின் முதுகெலும்பாகவும் பகிர்ந்தளிக்கப்பட்ட அமைப்புகள் திகழ்கின்றன. உலகளாவிய நிதி நெட்வொர்க்குகள் மற்றும் கிளவுட் உள்கட்டமைப்பு முதல் நிகழ்நேர தகவல்தொடர்பு தளங்கள் மற்றும் நிறுவன பயன்பாடுகள் வரை, இந்த அமைப்புகள் பல சுயாதீன கணினி முனைமங்களில் இயங்குமாறு வடிவமைக்கப்பட்டுள்ளன. இணையற்ற அளவிடுதல், பின்னடைவு மற்றும் கிடைக்கும் தன்மை ஆகியவற்றை வழங்கினாலும், இந்த பகிர்வு ஒரு ஆழமான சவாலை உருவாக்குகிறது: சில முனைமங்கள் தவிர்க்க முடியாமல் தோல்வியடைந்தாலும் கூட, பங்கேற்கும் அனைத்து முனைமங்களிலும் ஒரு நிலையான மற்றும் ஒப்புக்கொள்ளப்பட்ட நிலையைப் பராமரித்தல். இதுதான் ஒருமித்த வழிமுறைகளின் களம்.
ஒருமித்த வழிமுறைகள், பகிர்ந்தளிக்கப்பட்ட சூழல்களில் தரவு ஒருமைப்பாடு மற்றும் செயல்பாட்டு தொடர்ச்சியின் அமைதியான பாதுகாவலர்களாகும். பிணைய தாமதங்கள், முனைமச் செயலிழப்புகள் அல்லது தீங்கிழைக்கும் நடத்தைகள் இருந்தபோதிலும், ஒரு குழு கணினிகள் ஒரு ஒற்றை மதிப்பு, செயல்பாடுகளின் வரிசை அல்லது நிலை மாற்றத்தில் உடன்பட இவை உதவுகின்றன. இவை இல்லாமல், நமது டிஜிட்டல் உலகில் நாம் எதிர்பார்க்கும் நம்பகத்தன்மை சிதைந்துவிடும். இந்த விரிவான வழிகாட்டி ஒருமித்த வழிமுறைகளின் சிக்கலான உலகத்தை ஆராய்ந்து, அவற்றின் அடிப்படைக் கொள்கைகளை ஆராய்ந்து, முக்கிய செயலாக்கங்களை ஆய்வு செய்து, நிஜ உலக பகிர்ந்தளிக்கப்பட்ட அமைப்புகளில் அவற்றை செயல்படுத்துவதற்கான நடைமுறை நுண்ணறிவுகளை வழங்குகிறது.
பகிர்ந்தளிக்கப்பட்ட ஒருமித்த கருத்தின் அடிப்படை சவால்
ஒரு வலுவான பகிர்ந்தளிக்கப்பட்ட அமைப்பை உருவாக்குவது இயற்கையாகவே சிக்கலானது. மையச் சிரமம் நெட்வொர்க்குகளின் ஒத்திசைவற்ற தன்மையில் உள்ளது, அங்கு செய்திகள் தாமதமாகலாம், இழக்கப்படலாம் அல்லது மறுவரிசைப்படுத்தப்படலாம், மேலும் முனைமங்கள் சுயாதீனமாக தோல்வியடையலாம். பல சேவையகங்கள் ஒரு குறிப்பிட்ட பரிவர்த்தனை உறுதியாகிவிட்டதா இல்லையா என்பதில் உடன்பட வேண்டிய ஒரு காட்சியைப் பரிசீளிக்கவும். சில சேவையகங்கள் வெற்றியைப் புகாரளிக்கும்போது மற்றவை தோல்வியைப் புகாரளித்தால், அமைப்பின் நிலை தெளிவற்றதாகி, தரவு நிலைத்தன்மையின்மை மற்றும் சாத்தியமான செயல்பாட்டு குழப்பத்திற்கு வழிவகுக்கும்.
CAP தேற்றம் மற்றும் அதன் முக்கியத்துவம்
பகிர்ந்தளிக்கப்பட்ட அமைப்புகளின் ஒரு அடிப்படை கருத்து CAP தேற்றம் ஆகும், இது ஒரு பகிர்ந்தளிக்கப்பட்ட தரவு சேமிப்பகம் பின்வரும் மூன்று பண்புகளில் இரண்டை மட்டுமே ஒரே நேரத்தில் உத்தரவாதம் செய்ய முடியும் என்று கூறுகிறது:
- நிலைத்தன்மை (Consistency): ஒவ்வொரு வாசிப்பும் மிக சமீபத்திய எழுத்து அல்லது பிழையைப் பெறும்.
- கிடைக்கும் தன்மை (Availability): ஒவ்வொரு கோரிக்கைக்கும் ஒரு பதில் கிடைக்கும், அது மிகச் சமீபத்திய எழுத்து என்பதற்கு உத்தரவாதம் இல்லை.
- பிரிவு சகிப்புத்தன்மை (Partition Tolerance): முனைமங்களுக்கு இடையேயான செய்திகளைத் தடுக்கும் தன்னிச்சையான பிணைய தோல்விகள் (பிரிவுகள்) இருந்தபோதிலும் அமைப்பு தொடர்ந்து செயல்படுகிறது.
உண்மையில், எந்தவொரு போதுமான பெரிய அளவிலான பகிர்ந்தளிக்கப்பட்ட அமைப்பிலும் பிணையப் பிரிவுகள் தவிர்க்க முடியாதவை. எனவே, வடிவமைப்பாளர்கள் எப்போதும் பிரிவு சகிப்புத்தன்மையை (P) தேர்வு செய்ய வேண்டும். இது நிலைத்தன்மை (C) மற்றும் கிடைக்கும் தன்மை (A) ஆகியவற்றுக்கு இடையே ஒரு தேர்வை விட்டுச்செல்கிறது. ஒருமித்த வழிமுறைகள் முக்கியமாகப் பிரிவுகள் (P) இருந்தபோதிலும் நிலைத்தன்மையை (C) நிலைநிறுத்துவதற்காக வடிவமைக்கப்பட்டுள்ளன, பெரும்பாலும் பிணையப் பிரிவுகளின் போது கிடைக்கும் தன்மையின் (A) விலையில். நிதிப் பதிவுகள் அல்லது உள்ளமைவு மேலாண்மை சேவைகள் போன்ற தரவு ஒருமைப்பாடு மிக முக்கியத்துவம் வாய்ந்த அமைப்புகளை வடிவமைக்கும்போது இந்த சமரசம் மிக முக்கியமானது.
பகிர்ந்தளிக்கப்பட்ட அமைப்புகளில் பிழை மாதிரிகள்
ஒரு அமைப்பு எதிர்கொள்ளக்கூடிய பிழைகளின் வகைகளைப் புரிந்துகொள்வது பயனுள்ள ஒருமித்த வழிமுறைகளை வடிவமைக்க மிகவும் முக்கியமானது:
- செயலிழப்புப் பிழைகள் (Crash Faults - Fail-Stop): ஒரு முனைமம் வெறுமனே செயல்படுவதை நிறுத்திவிடும். அது செயலிழந்து மீண்டும் தொடங்கலாம், ஆனால் அது தவறான அல்லது தவறாக வழிநடத்தும் செய்திகளை அனுப்பாது. இது மிகவும் பொதுவான மற்றும் கையாள எளிதான பிழையாகும்.
- செயலிழப்பு-மீட்புப் பிழைகள் (Crash-Recovery Faults): செயலிழப்புப் பிழைகளைப் போன்றது, ஆனால் முனைமங்கள் செயலிழப்பிலிருந்து மீண்டு வந்து அமைப்பில் மீண்டும் சேரலாம், சரியாகக் கையாளப்படாவிட்டால் காலாவதியான நிலையுடன் இருக்கலாம்.
- தவறவிடுதல் பிழைகள் (Omission Faults): ஒரு முனைமம் செய்திகளை அனுப்பவோ அல்லது பெறவோ தவறிவிடுகிறது, அல்லது செய்திகளை விட்டுவிடுகிறது. இது பிணையச் சிக்கல்கள் அல்லது மென்பொருள் பிழைகள் காரணமாக இருக்கலாம்.
- பைசண்டைன் பிழைகள் (Byzantine Faults): மிகவும் கடுமையான மற்றும் சிக்கலானது. முனைமங்கள் தன்னிச்சையாக செயல்படலாம், தீங்கிழைக்கும் அல்லது தவறாக வழிநடத்தும் செய்திகளை அனுப்பலாம், மற்ற பிழையுள்ள முனைமங்களுடன் கூட்டுச் சேரலாம் அல்லது அமைப்பைச் சிதைக்க தீவிரமாக முயற்சி செய்யலாம். இந்த பிழைகள் பொதுவாக பிளாக்செயின் அல்லது இராணுவப் பயன்பாடுகள் போன்ற மிக முக்கியமான சூழல்களில் கருதப்படுகின்றன.
FLP சாத்தியமற்ற முடிவு
ஒரு சிந்தனையைத் தூண்டும் கோட்பாட்டு முடிவு, FLP சாத்தியமற்ற தேற்றம் (ஃபிஷர், லிஞ்ச், பேட்டர்சன், 1985), ஒரு ஒத்திசைவற்ற பகிர்ந்தளிக்கப்பட்ட அமைப்பில், ஒரு செயல்முறை செயலிழந்தாலும் கூட ஒருமித்த கருத்துக்கு உத்தரவாதம் அளிப்பது சாத்தியமில்லை என்று கூறுகிறது. ஒருமித்த கருத்தை அடைவதில் உள்ள உள்ளார்ந்த சிரமத்தை இந்த தேற்றம் எடுத்துக்காட்டுகிறது மற்றும் நடைமுறை வழிமுறைகள் ஏன் பெரும்பாலும் பிணைய ஒத்திசைவு பற்றிய அனுமானங்களை (எ.கா., ஒரு குறிப்பிட்ட நேரத்திற்குள் செய்தி விநியோகம்) உருவாக்குகின்றன அல்லது அனைத்து சூழ்நிலைகளிலும் தீர்மானகரமானதை விட நிகழ்தகவு முன்னேற்றத்தை உருவாக்க சீரற்ற தன்மை மற்றும் காலக்கெடுவை நம்பியுள்ளன என்பதை அடிக்கோடிட்டுக் காட்டுகிறது. ஒரு அமைப்பை மிக அதிக நிகழ்தகவுடன் ஒருமித்த கருத்தை அடைய வடிவமைக்க முடியும் என்றாலும், முற்றிலும் ஒத்திசைவற்ற, பிழைக்கு ஆளாகக்கூடிய சூழலில் முழுமையான நிச்சயம் கோட்பாட்டளவில் அடைய முடியாதது என்று இது பொருள்.
ஒருமித்த வழிமுறைகளில் உள்ள முக்கிய கருத்துக்கள்
இந்த சவால்கள் இருந்தபோதிலும், நடைமுறை ஒருமித்த வழிமுறைகள் இன்றியமையாதவை. அவை பொதுவாக சில முக்கிய பண்புகளைக் கடைபிடிக்கின்றன:
- ஒப்பந்தம் (Agreement): பிழையற்ற அனைத்து செயல்முறைகளும் இறுதியில் ஒரே மதிப்பில் உடன்படுகின்றன.
- செல்லுபடியாகும் தன்மை (Validity): ஒரு மதிப்பு
vஒப்புக்கொள்ளப்பட்டால்,vஎன்பது சில செயல்முறைகளால் முன்மொழியப்பட்டிருக்க வேண்டும். - முடிவுறுதல் (Termination): பிழையற்ற அனைத்து செயல்முறைகளும் இறுதியில் ஒரு மதிப்பைத் தீர்மானிக்கின்றன.
- ஒருமைப்பாடு (Integrity): ஒவ்வொரு பிழையற்ற செயல்முறையும் அதிகபட்சமாக ஒரு மதிப்பைத் தீர்மானிக்கிறது.
இந்த அடிப்படை பண்புகளைத் தாண்டி, பல வழிமுறைகள் பொதுவாகப் பயன்படுத்தப்படுகின்றன:
- தலைவர் தேர்தல் (Leader Election): பல ஒருமித்த வழிமுறைகள் மதிப்புகளை முன்மொழிவதற்கும் உடன்பாடு செயல்முறையை ஒழுங்கமைப்பதற்கும் பொறுப்பான ஒரு 'தலைவரை' நியமிக்கின்றன. தலைவர் தோல்வியுற்றால், ஒரு புதியவர் தேர்ந்தெடுக்கப்பட வேண்டும். இது ஒருங்கிணைப்பை எளிதாக்குகிறது, ஆனால் வலுவாகக் கையாளப்படாவிட்டால் ஒரு சாத்தியமான ஒற்றை தோல்விப் புள்ளியை (முன்மொழிவதற்கு, உடன்படுவதற்கு அல்ல) அறிமுகப்படுத்துகிறது.
- கலந்துரையாடல் குழுக்கள் (Quorums): ஒவ்வொரு முனைமமும் உடன்படத் தேவைப்படுவதற்குப் பதிலாக, ஒரு 'கலந்துரையாடல் குழு' (பெரும்பான்மை அல்லது ஒரு குறிப்பிட்ட துணைக்குழு) முனைமங்கள் ஒரு முன்மொழிவை அங்கீகரிக்கும் போது ஒருமித்த கருத்து பெரும்பாலும் எட்டப்படுகிறது. சில முனைமங்கள் செயலிழந்தாலோ அல்லது மெதுவாக இருந்தாலும் கூட அமைப்பு முன்னேற இது அனுமதிக்கிறது. முரண்பட்ட முடிவுகளைத் தடுக்கும் வகையில், எந்த இரண்டு குறுக்கிடும் கலந்துரையாடல் குழுக்களும் எப்போதும் குறைந்தபட்சம் ஒரு பொதுவான முனைமத்தைப் பகிர்ந்து கொள்ளும் என்பதை உறுதிப்படுத்த, கலந்துரையாடல் குழு அளவுகள் கவனமாகத் தேர்ந்தெடுக்கப்படுகின்றன.
- பதிவு பிரதிபலிப்பு (Log Replication): ஒருமித்த வழிமுறைகள் பெரும்பாலும் பல இயந்திரங்களில் கட்டளைகளின் வரிசையை (ஒரு பதிவு) நகலெடுப்பதன் மூலம் செயல்படுகின்றன. ஒவ்வொரு கட்டளையும், ஒருமித்த கருத்தால் ஒப்புக்கொள்ளப்பட்டவுடன், பதிவில் சேர்க்கப்படுகிறது. இந்த பதிவு பின்னர் ஒரு 'நிலை இயந்திரத்திற்கு' ஒரு தீர்மானகரமான உள்ளீடாக செயல்படுகிறது, அனைத்துப் பிரதிகளும் கட்டளைகளை ஒரே வரிசையில் செயல்படுத்தி ஒரே நிலைக்கு வருவதை உறுதி செய்கிறது.
பிரபலமான ஒருமித்த வழிமுறைகள் மற்றும் அவற்றின் செயலாக்கங்கள்
ஒருமித்த கருத்தின் கோட்பாட்டு நிலப்பரப்பு பரந்ததாக இருந்தாலும், சில வழிமுறைகள் நடைமுறை பகிர்ந்தளிக்கப்பட்ட அமைப்புகளில் ஆதிக்கம் செலுத்தும் தீர்வுகளாக உருவாகியுள்ளன. ஒவ்வொன்றும் சிக்கல்தன்மை, செயல்திறன் மற்றும் பிழை சகிப்புத்தன்மை பண்புகளில் வெவ்வேறு சமநிலையை வழங்குகிறது.
பாக்ஸோஸ் (Paxos): பகிர்ந்தளிக்கப்பட்ட ஒருமித்த கருத்தின் பிதாமகன்
1990 இல் லெஸ்லி லேம்போர்ட் என்பவரால் முதலில் வெளியிடப்பட்டது (பின்னர் தான் பரவலாகப் புரிந்துகொள்ளப்பட்டது), பாக்ஸோஸ் சந்தேகத்திற்கு இடமின்றி மிகவும் செல்வாக்கு மிக்க மற்றும் பரவலாக ஆய்வு செய்யப்பட்ட ஒருமித்த வழிமுறையாகும். பெரும்பாலான செயல்முறைகள் இயங்கினால், செயலிழப்புக்கு ஆளாகக்கூடிய செயல்முறைகளுடன் கூடிய ஒத்திசைவற்ற நெட்வொர்க்கில் ஒருமித்த கருத்தை அடைய இது பெயர் பெற்றது. இருப்பினும், அதன் முறையான விளக்கம் புரிந்துகொள்வது மிகவும் கடினம், இதனால் "பாக்ஸோஸ் எளிமையானது, ஒருமுறை நீங்கள் அதைப் புரிந்துகொண்டால்" என்ற கூற்றுக்கு வழிவகுத்தது.
பாக்ஸோஸ் எவ்வாறு செயல்படுகிறது (எளிமையாக்கப்பட்டது)
பாக்ஸோஸ் மூன்று வகையான பங்கேற்பாளர்களை வரையறுக்கிறது:
- முன்மொழிபவர்கள் (Proposers): ஒப்புக்கொள்ளப்பட வேண்டிய ஒரு மதிப்பை முன்மொழிகின்றனர்.
- ஏற்பவர்கள் (Acceptors): முன்மொழியப்பட்ட மதிப்புகளுக்கு வாக்களிக்கின்றனர். அவர்கள் பார்த்த மிக உயர்ந்த முன்மொழிவு எண் மற்றும் அவர்கள் ஏற்றுக்கொண்ட மதிப்பைச் சேமிக்கின்றனர்.
- கற்பவர்கள் (Learners): எந்த மதிப்பு தேர்ந்தெடுக்கப்பட்டுள்ளது என்பதைக் கண்டறிகின்றனர்.
இந்த வழிமுறை இரண்டு முக்கிய கட்டங்களில் செயல்படுகிறது:
-
கட்டம் 1 (தயாரிப்பு - Prepare):
- 1a (தயாரிப்பு): ஒரு முன்மொழிபவர் ஒரு புதிய, உலகளவில் தனித்துவமான முன்மொழிவு எண்
nஉடன் ஒரு 'தயாரிப்பு' செய்தியை பெரும்பாலான ஏற்பவர்களுக்கு அனுப்புகிறார். - 1b (வாக்குறுதி - Promise): ஒரு ஏற்பவர், ஒரு தயாரிப்பு செய்தியை
(n)பெற்றவுடன்,nஐ விடக் குறைவான எண் கொண்ட எதிர்கால முன்மொழிவுகளை புறக்கணிக்க 'வாக்குறுதி' அளித்து பதிலளிக்கிறார். அது ஏற்கனவே ஒரு முன்மொழிவுக்கு ஒரு மதிப்பை ஏற்றுக்கொண்டிருந்தால், அது மிக உயர்ந்த எண் கொண்ட ஏற்றுக்கொள்ளப்பட்ட மதிப்பு(v_accepted)மற்றும் அதன் முன்மொழிவு எண்(n_accepted)ஐ அதன் பதிலில் சேர்க்கிறது.
- 1a (தயாரிப்பு): ஒரு முன்மொழிபவர் ஒரு புதிய, உலகளவில் தனித்துவமான முன்மொழிவு எண்
-
கட்டம் 2 (ஏற்பு - Accept):
- 2a (ஏற்பு): முன்மொழிபவர் பெரும்பாலான ஏற்பவர்களிடமிருந்து வாக்குறுதிகளைப் பெற்றால், அது அதன் முன்மொழிவுக்கு ஒரு மதிப்பு
vஐத் தேர்ந்தெடுக்கிறது. எந்த ஏற்பாளராவது முன்னர் ஏற்றுக்கொள்ளப்பட்ட மதிப்புv_acceptedஐப் புகாரளித்திருந்தால், முன்மொழிபவர் மிக உயர்ந்தn_acceptedஉடன் தொடர்புடைய மதிப்பைத் தேர்ந்தெடுக்க வேண்டும். இல்லையெனில், அது அதன் சொந்த மதிப்பை முன்மொழியலாம். பின்னர் அது முன்மொழிவு எண்nமற்றும் தேர்ந்தெடுக்கப்பட்ட மதிப்புvஐக் கொண்ட ஒரு 'ஏற்பு' செய்தியை அதே பெரும்பாலான ஏற்பவர்களுக்கு அனுப்புகிறது. - 2b (ஏற்றுக்கொள்ளப்பட்டது - Accepted): ஒரு ஏற்பவர், ஒரு ஏற்பு செய்தியை
(n, v)பெற்றவுடன்,nஐ விடக் குறைவான எண் கொண்ட முன்மொழிவுகளை புறக்கணிக்க அது உறுதியளிக்கவில்லை என்றால், மதிப்புvஐ ஏற்கிறது. பின்னர் அது ஏற்றுக்கொள்ளப்பட்ட மதிப்பை கற்பவர்களுக்குத் தெரிவிக்கிறது.
- 2a (ஏற்பு): முன்மொழிபவர் பெரும்பாலான ஏற்பவர்களிடமிருந்து வாக்குறுதிகளைப் பெற்றால், அது அதன் முன்மொழிவுக்கு ஒரு மதிப்பு
பாக்ஸோஸின் நன்மைகள் மற்றும் தீமைகள்
- நன்மைகள்: அதிக பிழை சகிப்புத்தன்மை (
2f+1முனைமங்களில்fசெயலிழப்புப் பிழைகளைத் தாங்க முடியும்). பிணையப் பிரிவுகளின் போதும் பாதுகாப்புக்கு உத்தரவாதம் அளிக்கிறது (தவறாக ஒருபோதும் முடிவெடுப்பதில்லை). நிலையான தலைவர் இல்லாமல் முன்னேற முடியும் (தலைவர் தேர்தல் அதை எளிதாக்கினாலும்). - தீமைகள்: சரியாகப் புரிந்துகொண்டு செயல்படுத்துவது மிகவும் சிக்கலானது. குறிப்பிட்ட மேம்படுத்தல்கள் (எ.கா., மல்டி-பாக்ஸோஸில் ஒரு சிறப்புத் தலைவரைப் பயன்படுத்துதல்) இல்லாமல் உயிர்வாழ்வு சிக்கல்களால் (எ.கா., தொடர்ச்சியான தலைவர் தேர்தல்கள், பட்டினிக்கு வழிவகுக்கும்) பாதிக்கப்படலாம்.
நடைமுறைச் செயலாக்கங்கள் மற்றும் வகைகள்
அதன் சிக்கல்தன்மை காரணமாக, தூய பாக்ஸோஸ் அரிதாகவே நேரடியாகச் செயல்படுத்தப்படுகிறது. மாறாக, அமைப்புகள் பெரும்பாலும் மல்டி-பாக்ஸோஸ் போன்ற வகைகளைப் பயன்படுத்துகின்றன, இது ஒரு நிலையான தலைவர் பல மதிப்புகளை தொடர்ச்சியாக முன்மொழிவதன் மூலம் பல சுற்று ஒருமித்த கருவில் தலைவர் தேர்தலின் மேலதிகச் செலவை ஈடுசெய்கிறது. பாக்ஸோஸ் (அல்லது அதன் வழித்தோன்றல்கள்) மூலம் பாதிக்கப்பட்டு அல்லது நேரடியாகப் பயன்படுத்தும் அமைப்புகளின் எடுத்துக்காட்டுகளில் கூகிளின் சப்பி பூட்டு சேவை, அப்பச்சி சூகீப்பர் (ZAB, ஒரு பாக்ஸோஸ் போன்ற வழிமுறை), மற்றும் பல்வேறு பகிர்ந்தளிக்கப்பட்ட தரவுத்தள அமைப்புகள் ஆகியவை அடங்கும்.
ராஃப்ட் (Raft): புரிந்துகொள்ளக்கூடிய ஒருமித்த கருத்து
டீகோ ஒங்காரோ மற்றும் ஜான் ஓஸ்டர்ஹவுட் ஆகியோரால் ஸ்டான்போர்ட் பல்கலைக்கழகத்தில் ராஃப்ட் உருவாக்கப்பட்டது, இது 'புரிந்துகொள்ளக்கூடியதாக' இருக்க வேண்டும் என்ற வெளிப்படையான நோக்கத்துடன் உருவாக்கப்பட்டது. பாக்ஸோஸ் ஒருமித்த கருத்துக்குத் தேவையான குறைந்தபட்ச கோட்பாட்டில் கவனம் செலுத்தும் அதே வேளையில், ராஃப்ட் ஒரு கட்டமைக்கப்பட்ட மற்றும் உள்ளுணர்வு அணுகுமுறைக்கு முன்னுரிமை அளிக்கிறது, இது செயல்படுத்துவதற்கும் பகுத்தறிவதற்கும் கணிசமாக எளிதாக்குகிறது.
ராஃப்ட் எவ்வாறு செயல்படுகிறது
ராஃப்ட் அதன் முனைமங்களுக்குத் தெளிவான பாத்திரங்களை வரையறுத்து, எளிய நிலை மாற்றங்களுடன் செயல்படுகிறது:
- தலைவர் (Leader): அனைத்து கிளையன்ட் கோரிக்கைகளையும் கையாளுவதற்கும், பதிவு உள்ளீடுகளை முன்மொழிவதற்கும், அவற்றை பின்பற்றுபவர்களுக்கு நகலெடுப்பதற்கும் பொறுப்பான முதன்மை முனைமம். ஒரு நேரத்தில் ஒரு தலைவர் மட்டுமே இருப்பார்.
- பின்பற்றுபவர் (Follower): தலைவரிடமிருந்து வரும் கோரிக்கைகளுக்கு பதிலளித்து, வேட்பாளர்களுக்கு வாக்களிக்கும் செயலற்ற முனைமங்கள்.
- வேட்பாளர் (Candidate): தலைவர் தோல்வியுற்றதாக ஒரு பின்பற்றுபவர் நம்பும்போது, ஒரு புதிய தலைவர் தேர்தலைத் தொடங்கி, பின்பற்றுபவர் மாறும் நிலை.
ராஃப்ட் இரண்டு முக்கிய வழிமுறைகள் மூலம் ஒருமித்த கருத்தை அடைகிறது:
- தலைவர் தேர்தல்: ஒரு குறிப்பிட்ட காலக்கெடுவுக்குத் தலைவரிடமிருந்து ஒரு பின்பற்றுபவர் கேட்கவில்லை என்றால், அது ஒரு வேட்பாளராக மாறுகிறது. அது அதன் தற்போதைய காலத்தை (ஒரு தருக்க கடிகாரம்) அதிகரிக்கிறது மற்றும் தனக்குத் தானே வாக்களிக்கிறது. பின்னர் அது மற்ற முனைமங்களுக்கு 'RequestVote' RPCகளை அனுப்புகிறது. பெரும்பான்மையினரிடமிருந்து வாக்குகள் பெற்றால், அது புதிய தலைவராக மாறுகிறது. மற்றொரு முனைமம் தலைவரானால் அல்லது வாக்குகள் பிளவுபட்டால், ஒரு புதிய தேர்தல் காலம் தொடங்குகிறது.
- பதிவு பிரதிபலிப்பு: ஒரு தலைவர் தேர்ந்தெடுக்கப்பட்டவுடன், அது கிளையன்ட் கட்டளைகளைப் பெற்று அதன் உள்ளூர் பதிவில் சேர்க்கிறது. பின்னர் அது இந்த உள்ளீடுகளைப் பிரதிபலிக்க அனைத்து பின்பற்றுபவர்களுக்கும் 'AppendEntries' RPCகளை அனுப்புகிறது. தலைவர் தனது பின்பற்றுபவர்களில் பெரும்பான்மையினருக்கு ஒரு பதிவு உள்ளீட்டைப் பிரதிபலித்தவுடன் அது உறுதியாகிறது. உறுதிப்படுத்தப்பட்ட உள்ளீடுகள் மட்டுமே நிலை இயந்திரத்திற்குப் பயன்படுத்தப்படுகின்றன.
ராஃப்ட்டின் நன்மைகள் மற்றும் தீமைகள்
- நன்மைகள்: பாக்ஸோஸை விடப் புரிந்துகொள்வதும் செயல்படுத்துவதும் கணிசமாக எளிது. வலுவான தலைவர் மாதிரி கிளையன்ட் தொடர்பு மற்றும் பதிவு மேலாண்மையை எளிதாக்குகிறது. செயலிழப்புப் பிழைகளின் கீழ் பாதுகாப்பு மற்றும் உயிர்வாழ்வுக்கு உத்தரவாதம் அளிக்கிறது.
- தீமைகள்: வலுவான தலைவர் எழுதுதல்-அதிகப் பணிச்சுமைகளுக்கு ஒரு தடையாக இருக்கலாம் (இது பல பயன்பாட்டு நிகழ்வுகளுக்கு ஏற்கத்தக்கதாக இருந்தாலும்). முன்னேற்றத்திற்கு ஒரு நிலையான தலைவர் தேவை, இது அடிக்கடி ஏற்படும் பிணையப் பிரிவுகள் அல்லது தலைவர் தோல்விகளால் பாதிக்கப்படலாம்.
ராஃப்ட்டின் நடைமுறைச் செயலாக்கங்கள்
புரிந்துகொள்ளக்கூடிய ராஃப்ட்டின் வடிவமைப்பு அதன் பரவலான தத்தெடுப்புக்கு வழிவகுத்தது. முக்கிய எடுத்துக்காட்டுகள் அடங்கும்:
- etcd: Kubernetes ஆல் கிளஸ்டர் ஒருங்கிணைப்பு மற்றும் நிலை மேலாண்மைக்கு பயன்படுத்தப்படும் ஒரு பகிர்ந்தளிக்கப்பட்ட முக்கிய-மதிப்பு சேமிப்பகம்.
- Consul: சேவை கண்டறிதல் மற்றும் உள்ளமைவுக்கான அதன் அதிக கிடைக்கும் மற்றும் நிலையான தரவு சேமிப்பகத்திற்காக ராஃப்ட்டைப் பயன்படுத்தும் ஒரு சேவை மெஷ் தீர்வு.
- cockroachDB: அதன் அடிப்படை சேமிப்பு மற்றும் பிரதிபலிப்புக்கு ராஃப்ட் அடிப்படையிலான அணுகுமுறையைப் பயன்படுத்தும் ஒரு பகிர்ந்தளிக்கப்பட்ட SQL தரவுத்தளம்.
- HashiCorp Nomad: அதன் முகவர்களை ஒருங்கிணைக்க ராஃப்ட்டைப் பயன்படுத்தும் ஒரு பணிச்சுமை ஒருங்கிணைப்பான்.
ZAB (சூக்கீப்பர் அணு ஒளிபரப்பு - ZooKeeper Atomic Broadcast)
ZAB என்பது அப்பச்சி சூக்கீப்பரின் மையத்தில் உள்ள ஒருமித்த வழிமுறையாகும், இது பரவலாகப் பயன்படுத்தப்படும் ஒரு பகிர்ந்தளிக்கப்பட்ட ஒருங்கிணைப்பு சேவையாகும். பெரும்பாலும் பாக்ஸோஸுடன் ஒப்பிடப்பட்டாலும், ZAB என்பது நிலை மாற்றங்களுக்கு ஒரு வரிசைப்படுத்தப்பட்ட, நம்பகமான ஒளிபரப்பை வழங்குவதற்கும் தலைவர் தேர்தலை நிர்வகிப்பதற்கும் சூக்கீப்பரின் தேவைகளுக்காக சிறப்பாக வடிவமைக்கப்பட்டுள்ளது.
ZAB எவ்வாறு செயல்படுகிறது
ZAB அனைத்து சூக்கீப்பர் பிரதிகளின் நிலையையும் ஒத்திசைக்க நோக்கமாகக் கொண்டுள்ளது. இது பல கட்டங்கள் மூலம் இதை அடைகிறது:
- தலைவர் தேர்தல்: ஒரு ஒற்றை தலைவர் எப்போதும் சுறுசுறுப்பாக இருப்பதை உறுதிப்படுத்த சூக்கீப்பர் ஒரு அணு ஒளிபரப்பு நெறிமுறையின் (தலைவர் தேர்தலை உள்ளடக்கியது) ஒரு மாறுபாட்டைப் பயன்படுத்துகிறது. தற்போதைய தலைவர் தோல்வியுற்றால், முனைமங்கள் ஒரு புதிய தலைவருக்காக வாக்களிக்கும் ஒரு தேர்தல் செயல்முறை தொடங்குகிறது, பொதுவாக மிகவும் புதுப்பிக்கப்பட்ட பதிவு உள்ள முனைமம்.
- கண்டறிதல் (Discovery): ஒரு தலைவர் தேர்ந்தெடுக்கப்பட்டவுடன், அது அதன் பின்பற்றுபவர்களிடமிருந்து மிகச் சமீபத்திய நிலையைக் கண்டறியும் கட்டத்தைத் தொடங்குகிறது. பின்பற்றுபவர்கள் தங்கள் மிக உயர்ந்த பதிவு IDகளை தலைவருக்கு அனுப்புகிறார்கள்.
- ஒத்திசைவு (Synchronization): தலைவர் பின்னர் தனது நிலையைப் பின்பற்றுபவர்களுடன் ஒத்திசைக்கிறார், அவர்களைப் புதுப்பிக்க எந்த விடுபட்ட பரிவர்த்தனைகளையும் அனுப்புகிறார்.
- ஒளிபரப்பு (Broadcast): ஒத்திசைவுக்குப் பிறகு, அமைப்பு ஒளிபரப்பு கட்டத்திற்குள் நுழைகிறது. தலைவர் புதிய பரிவர்த்தனைகளை (கிளையன்ட் எழுதுதல்) முன்மொழிகிறார், மேலும் இந்த முன்மொழிவுகள் பின்பற்றுபவர்களுக்கு ஒளிபரப்பப்படுகின்றன. பெரும்பாலான பின்பற்றுபவர்கள் முன்மொழிவை அங்கீகரித்தவுடன், தலைவர் அதை உறுதிசெய்து உறுதிப்படுத்தல் செய்தியை ஒளிபரப்புகிறார். பின்பற்றுபவர்கள் பின்னர் உறுதிப்படுத்தப்பட்ட பரிவர்த்தனையை தங்கள் உள்ளூர் நிலைக்குப் பயன்படுத்துகிறார்கள்.
ZAB இன் முக்கிய பண்புகள்
- மொத்த வரிசை ஒளிபரப்பில் கவனம் செலுத்துகிறது, அனைத்துப் பிரதிகளிலும் அனைத்து புதுப்பித்தல்களும் ஒரே வரிசையில் செயலாக்கப்படுவதை உறுதி செய்கிறது.
- அதிக செயல்திறனைப் பராமரிக்கத் தலைவர் நிலைத்தன்மைக்கு வலுவான முக்கியத்துவம்.
- தலைவர் தேர்தல் மற்றும் நிலை ஒத்திசைவை முக்கிய கூறுகளாக ஒருங்கிணைக்கிறது.
ZAB இன் நடைமுறைப் பயன்பாடு
அப்பச்சி சூக்கீப்பர் அப்பச்சி காஃப்கா, ஹடூப், HBase மற்றும் சோலர் உள்ளிட்ட பல பகிர்ந்தளிக்கப்பட்ட அமைப்புகளுக்கு ஒரு அடிப்படை சேவையை வழங்குகிறது, பகிர்ந்தளிக்கப்பட்ட உள்ளமைவு, தலைவர் தேர்தல் மற்றும் பெயரிடுதல் போன்ற சேவைகளை வழங்குகிறது. அதன் நம்பகத்தன்மை நேரடியாக வலுவான ZAB நெறிமுறையிலிருந்து வருகிறது.
பைசண்டைன் பிழை சகிப்புத்தன்மை (BFT) வழிமுறைகள்
பாக்ஸோஸ், ராஃப்ட் மற்றும் ZAB ஆகியவை முக்கியமாக செயலிழப்புப் பிழைகளைக் கையாளும் அதே வேளையில், சில சூழல்களில் முனைமங்கள் தீங்கிழைக்கும் அல்லது தன்னிச்சையாக செயல்படக்கூடிய பைசண்டைன் பிழைகளுக்கு எதிராக பின்னடைவு தேவைப்படுகிறது. இது பொது பிளாக்செயின்கள் அல்லது மிக முக்கியமான அரசு/இராணுவ அமைப்புகள் போன்ற நம்பிக்கையற்ற சூழல்களில் குறிப்பாகப் பொருத்தமானது.
நடைமுறை பைசண்டைன் பிழை சகிப்புத்தன்மை (PBFT)
1999 இல் காஸ்ட்ரோ மற்றும் லிஸ்கோவ் ஆகியோரால் முன்மொழியப்பட்ட PBFT, மிகவும் பிரபலமான மற்றும் நடைமுறை BFT வழிமுறைகளில் ஒன்றாகும். அதன் முனைமங்களில் மூன்றில் ஒரு பங்கு வரை பைசண்டைன் (தீங்கிழைக்கும் அல்லது பிழையுள்ள) நிலையில் இருந்தாலும் ஒரு பகிர்ந்தளிக்கப்பட்ட அமைப்பு ஒருமித்த கருத்தை அடைய இது அனுமதிக்கிறது.
PBFT எவ்வாறு செயல்படுகிறது (எளிமையாக்கப்பட்டது)
PBFT தொடர்ச்சியான காட்சிகளில் செயல்படுகிறது, ஒவ்வொன்றும் ஒரு நியமிக்கப்பட்ட முதன்மை (தலைவர்) உடன். முதன்மை தோல்வியுற்றால் அல்லது பிழையுள்ளதாக சந்தேகிக்கப்பட்டால், ஒரு புதிய முதன்மையை தேர்ந்தெடுக்க ஒரு காட்சி மாற்ற நெறிமுறை தொடங்கப்படுகிறது.
ஒரு கிளையன்ட் கோரிக்கைக்கான சாதாரண செயல்பாடு பல கட்டங்களை உள்ளடக்கியது:
- கிளையன்ட் கோரிக்கை: ஒரு கிளையன்ட் முதன்மை முனைமத்திற்கு ஒரு கோரிக்கையை அனுப்புகிறது.
- முன்-தயாரிப்பு (Pre-Prepare): முதன்மை கோரிக்கைக்கு ஒரு வரிசை எண்ணை ஒதுக்கி, ஒரு 'முன்-தயாரிப்பு' செய்தியை அனைத்து காப்பு (பின்பற்றுபவர்) முனைமங்களுக்கும் மல்டிகாஸ்ட் செய்கிறது. இது கோரிக்கைக்கான ஒரு ஆரம்ப வரிசையை நிறுவுகிறது.
- தயாரிப்பு (Prepare): ஒரு முன்-தயாரிப்பு செய்தியைப் பெற்றவுடன், காப்புகள் அதன் நம்பகத்தன்மையை சரிபார்த்து, பின்னர் முதன்மை உட்பட மற்ற அனைத்து பிரதிகளுக்கும் ஒரு 'தயாரிப்பு' செய்தியை மல்டிகாஸ்ட் செய்கின்றன. அனைத்து பிழையற்ற பிரதிகளும் கோரிக்கைகளின் வரிசையில் உடன்படுவதை இந்த கட்டம் உறுதி செய்கிறது.
-
உறுதிப்படுத்தல் (Commit): ஒரு பிரதி ஒரு குறிப்பிட்ட கோரிக்கைக்கான
2f+1தயாரிப்பு செய்திகளை (அதன் சொந்த உட்பட) பெற்றவுடன் (fஎன்பது பிழையுள்ள முனைமங்களின் அதிகபட்ச எண்ணிக்கை), அது மற்ற அனைத்து பிரதிகளுக்கும் ஒரு 'உறுதிப்படுத்தல்' செய்தியை மல்டிகாஸ்ட் செய்கிறது. இந்த கட்டம் கோரிக்கை உறுதிப்படுத்தப்படும் என்பதை உறுதி செய்கிறது. -
பதில் (Reply):
2f+1உறுதிப்படுத்தல் செய்திகளைப் பெற்ற பிறகு, ஒரு பிரதி கிளையன்ட் கோரிக்கையைச் செயல்படுத்தி கிளையன்ட்டுக்கு ஒரு 'பதிலை' அனுப்புகிறது. செயல்பாடு வெற்றிகரமாகக் கருதப்படுவதற்கு முன்புf+1ஒரே மாதிரியான பதில்களுக்காக கிளையன்ட் காத்திருக்கிறது.
PBFT இன் நன்மைகள் மற்றும் தீமைகள்
- நன்மைகள்: பைசண்டைன் பிழைகளைத் தாங்குகிறது, தீங்கிழைக்கும் பங்கேற்பாளர்கள் இருந்தாலும் வலுவான பாதுகாப்பு உத்தரவாதங்களை உறுதி செய்கிறது. தீர்மானகரமான ஒருமித்த கருத்து (நிகழ்தகவு இறுதித்தன்மை இல்லை).
- தீமைகள்: கணிசமான தகவல்தொடர்பு மேலதிகச் செலவு (ஒவ்வொரு ஒருமித்த சுற்றிலும்
O(n^2)செய்திகள் தேவை, இங்குnஎன்பது பிரதிகளின் எண்ணிக்கை), அளவிடுதலைக் கட்டுப்படுத்துகிறது. அதிக தாமதம். சிக்கலான செயலாக்கம்.
PBFT இன் நடைமுறைச் செயலாக்கங்கள்
அதன் மேலதிகச் செலவு காரணமாக முக்கிய உள்கட்டமைப்பில் குறைவாகப் பயன்படுத்தப்பட்டாலும், PBFT மற்றும் அதன் வழித்தோன்றல்கள் நம்பிக்கை ஏற்றுக்கொள்ள முடியாத சூழல்களில் முக்கியமானவை:
- ஹைப்பர்லெட்ஜர் ஃபேப்ரிக் (Hyperledger Fabric): ஒரு அனுமதியளிக்கப்பட்ட பிளாக்செயின் தளம், இது பரிவர்த்தனை வரிசைப்படுத்துதல் மற்றும் இறுதித்தன்மைக்கு PBFT (அல்லது ஒரு மட்டு ஒருமித்த சேவை) வடிவத்தைப் பயன்படுத்துகிறது.
- பல்வேறு பிளாக்செயின் திட்டங்கள்: பல நிறுவன பிளாக்செயின் மற்றும் அனுமதியளிக்கப்பட்ட பகிர்ந்தளிக்கப்பட்ட லெட்ஜர் தொழில்நுட்பங்கள் (DLTs) BFT வழிமுறைகள் அல்லது மாறுபாடுகளைப் பயன்படுத்தி அறியப்பட்ட, ஆனால் சாத்தியமான நம்பத்தகாத பங்கேற்பாளர்களிடையே ஒருமித்த கருத்தை அடைகின்றன.
ஒருமித்த கருத்தை செயல்படுத்துதல்: நடைமுறை பரிசீலனைகள்
ஒருமித்த வழிமுறையைத் தேர்ந்தெடுத்து செயல்படுத்துவது ஒரு குறிப்பிடத்தக்க பணியாகும். ஒரு வெற்றிகரமான செயல்படுத்தலுக்கு பல நடைமுறை காரணிகள் கவனமாகப் பரிசீலிக்கப்பட வேண்டும்.
சரியான வழிமுறையைத் தேர்ந்தெடுத்தல்
ஒருமித்த வழிமுறையின் தேர்வு உங்கள் அமைப்பின் குறிப்பிட்ட தேவைகளைப் பெரிதும் சார்ந்துள்ளது:
- பிழை சகிப்புத்தன்மை தேவைகள்: நீங்கள் செயலிழப்புப் பிழைகளை மட்டுமே தாங்க வேண்டுமா, அல்லது பைசண்டைன் தோல்விகளையும் கணக்கில் கொள்ள வேண்டுமா? பெரும்பாலான நிறுவன பயன்பாடுகளுக்கு, ராஃப்ட் அல்லது பாக்ஸோஸ் போன்ற செயலிழப்பு-பிழை சகிப்புத்தன்மை கொண்ட வழிமுறைகள் போதுமானவை மற்றும் அதிக செயல்திறன் கொண்டவை. மிகவும் விரோதமான அல்லது நம்பிக்கையற்ற சூழல்களுக்கு (எ.கா., பொது பிளாக்செயின்கள்), BFT வழிமுறைகள் அவசியம்.
- செயல்திறன் vs. நிலைத்தன்மை சமரசங்கள்: அதிக நிலைத்தன்மை பெரும்பாலும் அதிக தாமதம் மற்றும் குறைந்த செயல்திறனுடன் வருகிறது. இறுதியான நிலைத்தன்மை மற்றும் வலுவான நிலைத்தன்மைக்கான உங்கள் பயன்பாட்டின் சகிப்புத்தன்மையைப் புரிந்து கொள்ளுங்கள். ராஃப்ட் பல பயன்பாடுகளுக்கு ஒரு நல்ல சமநிலையை வழங்குகிறது.
- செயல்படுத்துதல் மற்றும் பராமரிப்பின் எளிமை: ராஃப்ட்டின் எளிமை அதை புதிய செயலாக்கங்களுக்கு ஒரு பிரபலமான தேர்வாக ஆக்குகிறது. பாக்ஸோஸ், சக்தி வாய்ந்ததாக இருந்தாலும், சரியாகச் செயல்படுத்துவது மிகவும் கடினம். உங்கள் பொறியியல் குழுவின் திறமை மற்றும் நீண்டகால பராமரிப்பைக் கருத்தில் கொள்ளுங்கள்.
-
அளவிடுதல் தேவைகள்: உங்கள் கிளஸ்டரில் எத்தனை முனைமங்கள் இருக்கும்? அவை புவியியல் ரீதியாக எவ்வளவு பரவலாக்கப்படும்?
O(n^2)தகவல்தொடர்பு சிக்கல்தன்மை கொண்ட வழிமுறைகள் (PBFT போன்றவை) நூற்றுக்கணக்கான அல்லது ஆயிரக்கணக்கான முனைமங்களுக்கு அளவிடப்படாது, அதே சமயம் தலைவர் அடிப்படையிலான வழிமுறைகள் பெரிய கிளஸ்டர்களை மிகவும் திறம்பட நிர்வகிக்க முடியும்.
பிணைய நம்பகத்தன்மை மற்றும் காலக்கெடு
ஒருமித்த வழிமுறைகள் பிணைய நிலைமைகளுக்கு மிகவும் உணர்திறன் கொண்டவை. செயலாக்கங்கள் வலுவாகக் கையாள வேண்டும்:
- பிணைய தாமதம்: தாமதங்கள் ஒருமித்த சுற்றுகளை மெதுவாக்கலாம், குறிப்பாக பல சுற்று தகவல்தொடர்பு தேவைப்படும் வழிமுறைகளுக்கு.
- பாக்கெட் இழப்பு: செய்திகள் கைவிடப்படலாம். நம்பகமான செய்தி விநியோகத்தை உறுதிப்படுத்த வழிமுறைகள் மீண்டும் முயற்சித்தல் மற்றும் ஒப்புதல்களைப் பயன்படுத்த வேண்டும்.
- பிணையப் பிரிவுகள்: அமைப்புப் பிரிவுகளைக் கண்டறிந்து மீட்க முடிய வேண்டும், பிரிவின் போது நிலைத்தன்மைக்காகக் கிடைக்கும் தன்மையைத் தியாகம் செய்யக்கூடும்.
- தகவமைப்பு காலக்கெடு: நிலையான காலக்கெடு சிக்கலாக இருக்கலாம். மாறும், தகவமைப்பு காலக்கெடு (எ.கா., தலைவர் தேர்தலுக்கு) மாறுபட்ட பிணைய சுமைகள் மற்றும் நிலைமைகளின் கீழ் அமைப்புகள் சிறப்பாகச் செயல்பட உதவும்.
நிலை இயந்திர பிரதிபலிப்பு (SMR)
ஒருமித்த வழிமுறைகள் பெரும்பாலும் நிலை இயந்திர பிரதிபலிப்பை (SMR) செயல்படுத்தப் பயன்படுத்தப்படுகின்றன. SMR இல், ஒரு சேவையின் அனைத்துப் பிரதிகளும் ஒரே ஆரம்ப நிலையில் தொடங்கி, கிளையன்ட் கட்டளைகளின் அதே வரிசையை அதே வரிசையில் செயலாக்குகின்றன. கட்டளைகள் தீர்மானகரமானதாக இருந்தால், அனைத்துப் பிரதிகளும் ஒரே வரிசை நிலைகளில் மாற்றப்படும், நிலைத்தன்மையை உறுதி செய்கின்றன. நிலை இயந்திரத்திற்குப் பயன்படுத்தப்பட வேண்டிய கட்டளைகளின் மொத்த வரிசையில் உடன்படுவது ஒருமித்த வழிமுறையின் பங்காகும். இந்த அணுகுமுறை பிரதிபலிப்பு தரவுத்தளங்கள், பகிர்ந்தளிக்கப்பட்ட பூட்டுகள் மற்றும் உள்ளமைவு சேவைகள் போன்ற பிழை சகிப்புத்தன்மை கொண்ட சேவைகளை உருவாக்குவதற்கு அடிப்படையாகும்.
கண்காணிப்பு மற்றும் அவதானிப்பு
ஒருமித்த வழிமுறைகளுடன் ஒரு பகிர்ந்தளிக்கப்பட்ட அமைப்பை இயக்குவதற்கு விரிவான கண்காணிப்பு தேவைப்படுகிறது. கண்காணிக்க வேண்டிய முக்கிய அளவீடுகள்:
- தலைவர் நிலை: எந்த முனைமம் தற்போதைய தலைவர்? எவ்வளவு காலமாக அது தலைவராக உள்ளது?
- பதிவு பிரதிபலிப்பு முன்னேற்றம்: பின்பற்றுபவர்கள் தலைவரின் பதிவின் பின்னால் இருக்கிறார்களா? பிரதிபலிப்பு தாமதம் என்ன?
- ஒருமித்த சுற்று தாமதம்: ஒரு புதிய உள்ளீட்டை உறுதிப்படுத்த எவ்வளவு நேரம் ஆகும்?
- பிணைய தாமதம் மற்றும் பாக்கெட் இழப்பு: அனைத்து முனைமங்களுக்கும் இடையில், குறிப்பாக தலைவர் மற்றும் பின்பற்றுபவர்களுக்கு இடையில்.
- முனைம ஆரோக்கியம்: அனைத்து பங்கேற்பாளர்களுக்கும் CPU, நினைவகம், வட்டு I/O.
இந்த அளவீடுகளின் அடிப்படையில் பயனுள்ள எச்சரிக்கை, சிக்கல்களை விரைவாகக் கண்டறிந்து தீர்க்கவும், ஒருமித்த தோல்விகளால் சேவை முடக்கங்களைத் தடுக்கவும் மிக முக்கியமானது.
பாதுகாப்பு தாக்கங்கள்
ஒருமித்த வழிமுறைகள் உடன்பாட்டை உறுதி செய்தாலும், அவை உள்ளார்ந்த பாதுகாப்பை வழங்குவதில்லை. செயலாக்கங்கள் பின்வருவனவற்றைக் கருத்தில் கொள்ள வேண்டும்:
- அங்கீகாரம் (Authentication): அங்கீகரிக்கப்பட்ட முனைமங்கள் மட்டுமே ஒருமித்த செயல்பாட்டில் பங்கேற்க முடியும் என்பதை உறுதி செய்தல்.
- அதிகாரம் (Authorization): ஒவ்வொரு முனைமமும் என்னென்ன செயல்களைச் செய்ய (எ.கா., மதிப்புகளை முன்மொழிதல், வாக்களித்தல்) அனுமதிக்கப்பட்டுள்ளது என்பதை வரையறுத்தல்.
- குறியாக்கம் (Encryption): ஒட்டுக்கேட்பு அல்லது சிதைவைத் தடுக்க முனைமங்களுக்கு இடையேயான தகவல்தொடர்புகளைப் பாதுகாத்தல்.
- ஒருமைப்பாடு (Integrity): செய்திகள் போக்குவரத்தில் மாற்றப்படவில்லை என்பதை உறுதிப்படுத்த டிஜிட்டல் கையொப்பங்கள் அல்லது செய்தி அங்கீகார குறியீடுகளைப் பயன்படுத்துதல், குறிப்பாக BFT அமைப்புகளுக்கு இது முக்கியமானது.
மேம்பட்ட தலைப்புகள் மற்றும் எதிர்கால போக்குகள்
பகிர்ந்தளிக்கப்பட்ட ஒருமித்த கருத்துத் துறை தொடர்ந்து வளர்ந்து வருகிறது, தொடர்ச்சியான ஆராய்ச்சி மற்றும் புதிய சவால்கள் உருவாகி வருகின்றன.
மாறும் உறுப்பினர் (Dynamic Membership)
பல ஒருமித்த வழிமுறைகள் பங்கேற்கும் முனைமங்களின் நிலையான தொகுப்பை அனுமானிக்கின்றன. இருப்பினும், நிஜ-உலக அமைப்புகள் பெரும்பாலும் மாறும் உறுப்பினர் மாற்றங்களை (முனைமங்களைச் சேர்த்தல் அல்லது நீக்குதல்) அளவை அதிகரிக்க அல்லது குறைக்க அல்லது தோல்வியுற்ற வன்பொருளை மாற்றுவதற்குத் தேவைப்படுகின்றன. நிலைத்தன்மையைப் பராமரிக்கும் போது கிளஸ்டர் உறுப்பினரை பாதுகாப்பாக மாற்றுவது ஒரு சிக்கலான பிரச்சனையாகும், மேலும் ராஃப்ட் போன்ற வழிமுறைகள் இதற்காக நன்கு வரையறுக்கப்பட்ட, பல-கட்ட நெறிமுறைகளைக் கொண்டுள்ளன.
புவியியல் ரீதியாகப் பகிர்ந்தளிக்கப்பட்ட வரிசைப்படுத்தல்கள் (WAN தாமதம்)
புவியியல் ரீதியாகப் பரவியுள்ள தரவு மையங்களில் ஒருமித்த வழிமுறைகளை வரிசைப்படுத்துவது குறிப்பிடத்தக்க வைட் ஏரியா நெட்வொர்க் (WAN) தாமதத்தை அறிமுகப்படுத்துகிறது, இது செயல்திறனை கடுமையாகப் பாதிக்கலாம். WAN க்கு உகந்ததாக்கப்பட்ட பாக்ஸோஸ் அல்லது ராஃப்ட் வகைகளைப் போன்ற உத்திகள் (எ.கா., வேகமான வாசிப்புகளுக்கு உள்ளூர் பகுதிகளில் சிறிய கலந்துரையாடல் குழுக்களைப் பயன்படுத்துதல், அல்லது தலைவர்களை கவனமாக வைப்பது) ஆராயப்பட்டு வருகின்றன. பல-பிராந்திய வரிசைப்படுத்தல்கள் பெரும்பாலும் உலகளாவிய நிலைத்தன்மை மற்றும் உள்ளூர் செயல்திறன் இடையே சமரசங்களை உள்ளடக்கியுள்ளன.
பிளாக்செயின் ஒருமித்த வழிமுறைகள்
பிளாக்செயின் தொழில்நுட்பத்தின் எழுச்சி ஒருமித்த கருத்தில் புதுப்பிக்கப்பட்ட ஆர்வத்தையும் புதிய கண்டுபிடிப்புகளையும் தூண்டியுள்ளது. பொது பிளாக்செயின்கள் ஒரு தனித்துவமான சவாலை எதிர்கொள்கின்றன: ஒரு மைய அதிகாரம் இல்லாமல், பெரிய, மாறும், மற்றும் சாத்தியமான எதிரிப் பங்கேற்பாளர்களிடையே ஒருமித்த கருத்தை அடைவது. இது புதிய ஒருமித்த வழிமுறைகளின் வளர்ச்சிக்கு வழிவகுத்தது:
- வேலைக்கான சான்று (Proof-of-Work - PoW): (எ.கா., பிட்காயின், 'தி மெர்ஜ்'க்கு முன் எத்தேரியம்) கணக்கீட்டு புதிர்-தீர்க்கும் முறையை நம்பி லெட்ஜரைப் பாதுகாக்கிறது, இது தீங்கிழைக்கும் நடிகர்களுக்கு வரலாற்றை மீண்டும் எழுத விலை உயர்ந்ததாக ஆக்குகிறது.
- பங்குக்கான சான்று (Proof-of-Stake - PoS): (எ.கா., 'தி மெர்ஜ்'க்கு பிறகு எத்தேரியம், சோலானா, கார்டானோ) சரிபார்ப்பவர்கள் அவர்கள் பிணையாக 'பந்தயம் கட்டும்' கிரிப்டோகரன்சியின் அளவின் அடிப்படையில் தேர்ந்தெடுக்கப்படுகிறார்கள், இது நேர்மையான நடத்தைக்கு ஊக்கமளிக்கிறது.
- பிரதிநிதியாக்கப்பட்ட பங்குக்கான சான்று (Delegated Proof-of-Stake - DPoS): (எ.கா., EOS, TRON) பங்குதாரர்கள் பரிவர்த்தனைகளைச் சரிபார்க்க ஒரு குறிப்பிட்ட எண்ணிக்கையிலான பிரதிநிதிகளைத் தேர்ந்தெடுக்கிறார்கள்.
- இயக்குவிக்கப்பட்ட அசைக்ளிக் வரைபடங்கள் (Directed Acyclic Graphs - DAGs): (எ.கா., IOTA, Fantom) ஒரு வித்தியாசமான தரவு அமைப்பு பரிவர்த்தனைகளை இணையாகச் செயலாக்க அனுமதிக்கிறது, பாரம்பரிய தொகுதி அடிப்படையிலான ஒருமித்த கருத்து இல்லாமல் அதிக செயல்திறனை வழங்கலாம்.
இந்த வழிமுறைகள் பெரும்பாலும் பாரம்பரிய பகிர்ந்தளிக்கப்பட்ட அமைப்பு ஒருமித்த கருத்துடன் ஒப்பிடும்போது வெவ்வேறு பண்புகளுக்கு (எ.கா., தணிக்கை எதிர்ப்பு, பரவலாக்கம், இறுதித்தன்மை) முன்னுரிமை அளிக்கின்றன, இது பொதுவாக நம்பகமான, வரையறுக்கப்பட்ட முனைமங்களில் வலுவான நிலைத்தன்மை மற்றும் அதிக கிடைக்கும் தன்மையில் கவனம் செலுத்துகிறது.
உகந்ததாக்கல்கள் மற்றும் வகைகள்
தொடர்ச்சியான ஆராய்ச்சி தற்போதுள்ள வழிமுறைகளை மேம்படுத்தி புதியவற்றை முன்மொழிந்து வருகிறது. எடுத்துக்காட்டுகள் அடங்கும்:
- ஃபாஸ்ட் பாக்ஸோஸ் (Fast Paxos): சாதாரண சூழ்நிலைகளில் ஒரே ஒரு சுற்று தகவல்தொடர்புகளில் மதிப்புகளைத் தேர்ந்தெடுக்க அனுமதிப்பதன் மூலம் தாமதத்தைக் குறைக்கும் வகையில் வடிவமைக்கப்பட்ட ஒரு வகை.
- சமத்துவ பாக்ஸோஸ் (Egalitarian Paxos): சில சூழ்நிலைகளில் பல தலைவர்கள் அல்லது முன்மொழிபவர்கள் ஒருங்கிணைப்பு இல்லாமல் ஒரே நேரத்தில் செயல்பட அனுமதிப்பதன் மூலம் செயல்திறனை மேம்படுத்துவதை நோக்கமாகக் கொண்டுள்ளது.
- பொதுவான பாக்ஸோஸ் (Generalized Paxos): மதிப்புகளின் வரிசைகள் மற்றும் தன்னிச்சையான நிலை இயந்திர செயல்பாடுகள் குறித்த உடன்பாட்டிற்கு அனுமதிக்கும் வகையில் பாக்ஸோஸை நீட்டிக்கிறது.
முடிவுரை
ஒருமித்த வழிமுறைகள் நம்பகமான பகிர்ந்தளிக்கப்பட்ட அமைப்புகள் கட்டப்பட்டிருக்கும் அடித்தளமாகும். கருத்தியல் ரீதியாக சவாலாக இருந்தாலும், நவீன அமைப்பு கட்டமைப்பின் சிக்கல்களில் நுழையும் எந்தவொரு நிபுணருக்கும் அவற்றின் தேர்ச்சி அத்தியாவசியமானது. பாக்ஸோஸின் கடுமையான பாதுகாப்பு உத்தரவாதங்கள் முதல் ராஃப்ட்டின் பயனர் நட்பு வடிவமைப்பு வரை, மற்றும் PBFT இன் வலுவான பிழை சகிப்புத்தன்மை வரை, ஒவ்வொரு வழிமுறையும் நிச்சயமற்ற தன்மைக்கு மத்தியில் நிலைத்தன்மையை உறுதி செய்வதற்கான ஒரு தனித்துவமான சமரசங்களை வழங்குகிறது.
இந்த வழிமுறைகளைச் செயல்படுத்துவது வெறும் கல்விப் பயிற்சி மட்டுமல்ல; இது பிணையங்கள் மற்றும் வன்பொருள் தோல்விகளின் கணிக்க முடியாத தன்மையை தாங்கக்கூடிய அமைப்புகளை உருவாக்குவது, உலகெங்கிலும் உள்ள பயனர்களுக்கு தரவு ஒருமைப்பாடு மற்றும் தொடர்ச்சியான செயல்பாட்டை உறுதி செய்வது பற்றியது. கிளவுட் கம்ப்யூட்டிங், பிளாக்செயின் மற்றும் உலகளாவிய அளவிலான சேவைகளுக்கான பெருகிய தேவை ஆகியவற்றால் தூண்டப்பட்டு, பகிர்ந்தளிக்கப்பட்ட அமைப்புகள் தொடர்ந்து வளர்ச்சியடையும் போது, ஒருமித்த வழிமுறைகளின் கொள்கைகள் மற்றும் நடைமுறைப் பயன்பாடு வலுவான மற்றும் பின்னடைவு அமைப்பு வடிவமைப்பின் முன்னணியில் இருக்கும். இந்த அடிப்படை கட்டுமானத் தொகுதிகளைப் புரிந்துகொள்வது, நமது ஒன்றோடொன்று இணைக்கப்பட்ட உலகிற்குச் சேவை செய்யும் அடுத்த தலைமுறை அதிக கிடைக்கும் மற்றும் நிலையான டிஜிட்டல் உள்கட்டமைப்புகளை உருவாக்க பொறியாளர்களுக்கு அதிகாரம் அளிக்கிறது.